/**
 * com.cnhis.his.customer.bo.Bbx1Bo.java
 */
package com.mbmed.doctor.medadvice.bo;

import java.util.List;
import java.util.Map;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.mbmed.doctor.commons.utils.Page;
import com.mbmed.doctor.login.mapper.Bck1;
import com.mbmed.doctor.medadvice.dao.Bbx1Dao;
import com.mbmed.doctor.medadvice.mapper.Bbx1;

/**
 * @file  Bbx1Bo.java
 * @author 刘武
 * @version 0.1
 * @todo	Bbx1业务操作接口
 * Copyright(C), 2013-2014
 *		 Shenzhen Coordinates Software Development Co., Ltd.
 * History
 *   	1. Date: 2014-10-27 10:47:49
 *      	Author: 刘武
 *      	Modification: this file was created
 *   	2. ...
 */
@Service
public class Bbx1Bo {
	@Resource
	private Bbx1Dao bbx1Dao;
	

    /**
	 * @param bbx1Dao the bbx1Dao to set
	 */
	public void setBbx1Dao(Bbx1Dao bbx1Dao) {
		this.bbx1Dao = bbx1Dao;
	}


	/**
     * 配置文件中编号：(1)
	 * 查找所有数据库记录
     * @return type : List 返回查询操作所有符合条件的记录的VO对象集合，操作失败返回null
     */
	@SuppressWarnings({ "rawtypes" })
    public List getAll() throws Exception {
		return bbx1Dao.selectAll();
	}
	
    /**
     * 配置文件中编号：(2)
     * @param valueOne 需要进行查询的值。
     * @param valueTwo 需要进行查询的值。
     * @param valueThree 需要进行查询的值。
     * @return type : List 返回查询操作所有符合条件的记录的VO对象集合，操作失败返回null
     * @throws Exception
     */
	@SuppressWarnings({ "rawtypes" })
    public List getByParamMap(Map paramMap) throws Exception{
		 return bbx1Dao.selectByParamMap(paramMap);
	}
	
	
	
	 /**
     * 配置文件中编号：(2-3)
     * @param valueOne 需要进行查询的值。
     * @param valueTwo 需要进行查询的值。
     * @param valueThree 需要进行查询的值。
     * @return type : List 查询药品，操作失败返回null
     * @throws Exception
     */
	@SuppressWarnings({ "rawtypes" })
    public List getAdivceSearchMedic(Map paramMap) throws Exception{
		 return bbx1Dao.selectAdivceSearchMedic(paramMap);
	}
	
	
	
	 /**
     * 配置文件中编号：(2-4)
     * @param valueOne 需要进行查询的值。
     * @param valueTwo 需要进行查询的值。
     * @param valueThree 需要进行查询的值。
     * @return type : List 查询药品，操作失败返回null
     * @throws Exception
     */
	@SuppressWarnings({ "rawtypes" })
    public List getAdivceSearchProject(Map paramMap) throws Exception{
		 return bbx1Dao.selectAdivceSearchProject(paramMap);
	}
	
	
	
	 /**
     * 配置文件中编号：(2-5)
     * @param valueOne 需要进行查询的值。
     * @param valueTwo 需要进行查询的值。
     * @param valueThree 需要进行查询的值。
     * @return type : List 查询药品，操作失败返回null
     * @throws Exception
     */
	@SuppressWarnings({ "rawtypes" })
    public List getAdivceSelectProject(Map paramMap) throws Exception{
		 return bbx1Dao.selectAdivceSelectProject(paramMap);
	}
	
	
	 /**
     * 配置文件中编号：(2-6)
     * @param valueOne 需要进行查询的值。
     * @param valueTwo 需要进行查询的值。
     * @param valueThree 需要进行查询的值。
     * @return type : List 中草药煎法，操作失败返回null
     * @throws Exception
     */
	@SuppressWarnings({ "rawtypes" })
    public List getAdivZcyDecoctionMethod(Map paramMap) throws Exception{
		 return bbx1Dao.selectZcyDecoctionMethod(paramMap);
	}
	
	 /**
     * 配置文件中编号：(2-7)
     * @param valueOne 需要进行查询的值。
     * @param valueTwo 需要进行查询的值。
     * @param valueThree 需要进行查询的值。
     * @return type : List 用法，操作失败返回null
     * @throws Exception
     */
	@SuppressWarnings({ "rawtypes" })
    public List getAdivGiveMethod(Map paramMap) throws Exception{
		 return bbx1Dao.selectAdivGiveMethod(paramMap);
	}
	
	
	
	 /**
     * 配置文件中编号：(2-8)
     * @param valueOne 需要进行查询的值。
     * @param valueTwo 需要进行查询的值。
     * @param valueThree 需要进行查询的值。
     * @return type : List 用法，操作失败返回null
     * @throws Exception
     */
	@SuppressWarnings({ "rawtypes" })
    public Bbx1 getAdivQueryMedical(Map paramMap) throws Exception{
		 return bbx1Dao.selectAdivQueryMedical(paramMap);
	}
	
	
	 /**
     * 配置文件中编号：(2-9)
     * @param valueOne 需要进行查询的值。
     * @param valueTwo 需要进行查询的值。
     * @param valueThree 需要进行查询的值。
     * @return type : List 附加手术，操作失败返回null
     * @throws Exception
     */
	@SuppressWarnings({ "rawtypes" })
    public List getAdivSubOperate(Map paramMap) throws Exception{
		 return bbx1Dao.selectAdivSubOperate(paramMap);
	}
	
	
	 /**
     * 配置文件中编号：(2-10)
     * @param valueOne 需要进行查询的值。
     * @param valueTwo 需要进行查询的值。
     * @param valueThree 需要进行查询的值。
     * @return type : List 附加手术，操作失败返回null
     * @throws Exception
     */
	@SuppressWarnings({ "rawtypes" })
    public List getAdivOperateNarcosis(Map paramMap) throws Exception{
		 return bbx1Dao.selectAdivOperateNarcosis(paramMap);
	}
	
	/**
     * 配置文件中编号：(2-11)
     * @param valueOne 需要进行查询的值。
     * @param valueTwo 需要进行查询的值。
     * @param valueThree 需要进行查询的值。
     * @return type : List 治疗方案：对应草药、手术明细，操作失败返回null
     * @throws Exception
     */
	@SuppressWarnings({ "rawtypes" })
    public List getTreatmentPlan(Map paramMap) throws Exception{
		 return bbx1Dao.selectTreatmentPlan(paramMap);
	}
	
	
	
	
	/**
     * 配置文件中编号：(2-12)
     * @param valueOne 需要进行查询的值。
     * @param valueTwo 需要进行查询的值。
     * @param valueThree 需要进行查询的值。
     * @return type : List 治疗方案：按治疗方案明细id查询诊疗项目，操作失败返回null
     * @throws Exception
     */
	@SuppressWarnings({ "rawtypes" })
    public List getTreatPlanId(Map paramMap) throws Exception{
		 return bbx1Dao.selectTreatPlanId(paramMap);
	}
	

	/**
     * 配置文件中编号：(2-13)
     * @param valueOne 需要进行查询的值。
     * @param valueTwo 需要进行查询的值。
     * @param valueThree 需要进行查询的值。
     * @return type : List 治疗方案：按治疗方案明细id查询诊疗项目，操作失败返回null
     * @throws Exception
     */
	@SuppressWarnings({ "rawtypes" })
    public List getGuoMinMedic(Map map) throws Exception{
		 return bbx1Dao.selectGuoMinMedic(map);
	}
	
	
	/**
     * 配置文件中编号：(2-14)
     * 查找符合条件的所有数据库记录
     * @param pkid 与数据库中主键对应的值
     * @return type : RpDir 返回查询操作所有符合条件的记录的VO对象，操作失败返回null
     * @throws Exception
     */
	public Bbx1 getCountGuoMinMedic(String txt) throws Exception{
		if(txt==null) return null;
     	return bbx1Dao.selectCountGuoMinMedic(txt);
	}
	
	/**
     * 配置文件中编号：(2-15)
     * @param valueOne 需要进行查询的值。
     * @param valueTwo 需要进行查询的值。
     * @param valueThree 需要进行查询的值。
     * @return type : List 治疗方案：按治疗方案明细id查询诊疗项目，操作失败返回null
     * @throws Exception
     */
	@SuppressWarnings({ "rawtypes" })
    public List getAdivceCommonPlan(Map map) throws Exception{
		 return bbx1Dao.selectAdivceCommonPlan(map);
	}
	
	
	/**
     * 配置文件中编号：(2-16)
     * @param valueOne 需要进行查询的值。
     * @param valueTwo 需要进行查询的值。
     * @param valueThree 需要进行查询的值。
     * @return type : List 治疗方案：按治疗方案明细id查询诊疗项目，操作失败返回null
     * @throws Exception
     */
	@SuppressWarnings({ "rawtypes" })
    public String execClinicGetTreatmentBck(Map map) throws Exception{
		 return bbx1Dao.execClinicGetTreatmentBck(map);
	}
	
	/**
     * 配置文件中编号：(2-17)
     * @param valueOne 需要进行查询的值。
     * @param valueTwo 需要进行查询的值。
     * @param valueThree 需要进行查询的值。
     * @return type : List 治疗方案：按治疗方案明细id查询诊疗项目，操作失败返回null
     * @throws Exception
     */
	@SuppressWarnings({ "rawtypes" })
    public List getTreatmentSet(Map map) throws Exception{
		 return bbx1Dao.selectTreatmentSet(map);
	}
	
	
	
	
	/**
     * 配置文件中编号：(3)
     * 查找符合条件的所有数据库记录
     * @param vo 与数据库中记录对应的值对象
     * @return type : List 返回查询操作所有符合条件的记录的VO对象集合，操作失败返回null
     * @throws Exception
     */
	@SuppressWarnings({ "rawtypes" })
    public List get(Bbx1 vo) throws Exception{
		if(vo == null) return null;
        return bbx1Dao.selectByVo(vo);
	}
	
    /**
     * 配置文件中编号：(3-2)
     * 分页查找
     * @param condition 与数据库中记录对应的值对象
     * @return type : Page 返回满足条件的记录集，操作失败返回null
     * @throws Exception
     */
	@SuppressWarnings("rawtypes")
	public Page getPage(Map condition) throws Exception{
		if(condition == null) return null;
        return bbx1Dao.selectForPage(condition);
	}
	
	@SuppressWarnings({ "rawtypes" })
    public Page getPageByParamMap(Map condition, int currPage,	int pageSize) throws Exception{
		if (condition == null)
			return null;
		return bbx1Dao.queryByParams(condition, currPage, pageSize);
	}
	
    /**
     * 配置文件中编号：(3-3)
     * 查找符合条件的所有数据库记录
     * @param pkid 与数据库中主键对应的值
     * @return type : RpDir 返回查询操作所有符合条件的记录的VO对象，操作失败返回null
     * @throws Exception
     */
	public Bbx1 get(String pkid) throws Exception{
		if(pkid==null) return null;
     	return bbx1Dao.selectByPk(pkid);
	}
	
	/**
     * 配置文件中编号：(4)
     * 向数据库中插入一条记录
     * @param vo 与数据库中记录对应的值对象
     * @return type : RpDir 返回插入操作是否成功
     * @throws Exception
     */
    public Bbx1 save(Bbx1 vo) throws Exception{
    	if(vo == null) return null;		
		if(vo.getBbx01()!=null) {
			return bbx1Dao.updateByVo(vo);
		} else {
			//vo.setBbx01(bbx1Dao.getPKValue());
			return bbx1Dao.insertByVo(vo);
		}
    }
    
    /**
     * 配置文件中编号：(5)
     * 删除符合条件的所有数据库记录
     * @param pkid 与数据库中主键对应的值
     * @return type : boolean 返回删除操做是否成功，操作失败返回false
     */
    public boolean remove(String pkid) throws Exception{
    	if(pkid == null) return false;
    	return bbx1Dao.deleteByPk(pkid);
    }
    

    
    /**
     * 配置文件中编号：(6)
     * 删除数据库中与传入的值对象对应的记录
     * @param vo 与数据库中记录对应的值对象
     * @return type : boolean 返回删除操作是否成功
     * @throws Exception
     */
    public boolean remove(Bbx1 vo) throws Exception{
    	if(vo == null) return false;
     	return bbx1Dao.deleteByVo(vo);
    }


	public List getMedicCommonProject(Map<String, Object> paramap) {
		return bbx1Dao.getMedicCommonProject(paramap);
	}


}
